This invention relates to front-of-screen graphical display systems having a cursor, such as a workstation, personal computer or terminal display, and, more particularly, to control over the movement of the cursor on the display screen.
Front-of-screen graphical display systems which utilize graphical user interfaces (GUI""s) having a cursor on a display screen, which a user may move and reposition by means of a cursor movement interface, such as a computer mouse, are well known in the art, and are becoming commonplace. Examples include those provided by various Microsoft xe2x80x9cWINDOWSxe2x80x9d operating systems, and the IBM xe2x80x9cOS/2xe2x80x9d operating system, for workstations and personal computers.
In the most common arrangement, a computer mouse is coupled to the computer system and may be moved by the user on a mouse pad, and the operating system will cause the cursor on the display screen to move in a corresponding direction. Typically, the user employs the mouse to move and reposition the cursor between objects, such as between windows, between arrays of toolbars, between 3-D elements, and between icons. Such operating systems also allow the user to select a speed at which the cursor is moved in response to movement of the mouse. For example, the Microsoft xe2x80x9cWINDOWS 95xe2x80x9d operating system xe2x80x9cSETTINGSxe2x80x9d, xe2x80x9cCONTROL PANELxe2x80x9d, xe2x80x9cMOUSExe2x80x9d allows the speed of the cursor, or xe2x80x9cPOINTERxe2x80x9d to be set by a user. With the complexity of the GUI display screen populated by text, drawings, icons and toolbars, negotiation of the screen can sometimes be difficult. Thus, the user must choose a compromise speed that will allow both some speed of movement and some degree of precision in stopping the cursor at a desired point.
As the result, it would be desirable to vary the speed of the cursor according to different circumstances. For example, when moving the cursor across a large distance, it would be helpful to be able to do so at a high rate of speed. However, when the cursor is being moved into a precise position, such as to a particular front-of-screen icon, or a front-of-screen toolbar, to select the toolbar or to activate an icon, it would be desirable to have a slower rate of motion to properly position the cursor and insure selection or activation of the correct icon or toolbar.
This need has been reflected in devices which allow some speed variation to occur by providing a variation in the mouse output to the computer system. For example, U.S. Pat. No. 5,790,102, Nassimi, issued Aug. 4, 1998, describes a computer mouse that is pressure sensitive and provides signals to the computer system that is proportional to the pressure exerted on the mouse by the user and to the speed of movement of the mouse. In another example, U.S. Pat. No. 5,153,571, Takahashi, issued Oct. 6, 1992, describes an input device interposed between a mouse and the computer system which counts the output pulses of the mouse and which varies the counts provided to the computer system as set by a push-button switch.
Such devices are high cost, as compared to the cost of a conventional mouse, and require the user to operate the mouse in a special way to accomplish the speed variations. The operation, for example, of an added switch, to control the speed is also inconvenient for the typical user. Thus, such devices tend to be counterproductive and do not aid navigation of the GUI.
It is an object of the present invention to provide variable speed cursor movement which is convenient to the user of the mouse or other cursor movement interfaces.
It is another object of the present invention to allow the user to set the speeds of the cursor movement.
Disclosed are a method, a front-of-screen graphical display system, and a computer program product for controlling the speed sensitivity of a GUI cursor. The GUI objects on the front-of-screen display, such as icons, occupy predetermined areas of the display, and the graphical method for controlling movement of the displayed cursor in response to the cursor movement interface, or mouse, comprises the steps of:
providing a first preselected velocity setting for the cursor;
providing a second preselected velocity setting for the cursor;
determining whether the cursor is located within one of the predetermined object areas of the display; and
responding to the cursor movement interface and to the determining step to move the cursor at the display at a speed sensitivity with respect the mouse, 1) if the cursor is located outside one of the predetermined object areas, directly related to the first preselected velocity setting, and, 2) if the cursor is located within one of the predetermined object areas, directly related to the second preselected velocity setting.
Thus, outside the bounds of the object area, movement of the mouse moves the cursor at a first speed, and, within the bounds of the object area, the same movement of the mouse moves the cursor at a second speed. In one embodiment, the second preselected velocity (V2) is a ratio 1/n to the first preselected velocity (V1). The ratio cannot exceed unity, so that the speed sensitivity of the cursor within an object area is the same or less than that outside the object area. The objects can therefore be considered as xe2x80x9cgravity wellsxe2x80x9d, slowing the speed of the cursor. Specifically, (V1) may comprise a binary number and (n) may comprise a power of 2, so that movement of the cursor within the predetermined object areas is calculated by means of a binary bit shift of (V1).
In accordance with another aspect of the invention, if a button on the mouse is activated, for example, to drag an icon, the second velocity setting is overridden in areas where the icon cannot be validly dropped, and the icon is dragged at the higher speed in these areas.
The variable speed cursor is independent of the mouse or other cursor movement interface, and, therefore, does not add to the cost of the mouse or other cursor movement interface. It is implementable as a computer program product which may be incorporated within or added to the operating system of the GUI computer system.
For a fuller understanding of the present invention, reference should be made to the following detailed description taken in conjunction with the accompanying drawings.